package com.ruoyi.project.system.domain;

import java.math.BigDecimal;

import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 产品对象 sys_product
 *
 * @author ruoyi
 * @date 2024-07-23
 */
@Data
@Accessors(chain = true)
public class SysProduct extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 产品ID
     */
    private Integer productId;

    /**
     * 产品类型
     */
    private String productType;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 产品介绍
     */
    private String productIntroduce;

    /**
     * 产品场景
     */
    private String scene;

    /**
     * V0等级系统底价
     */
    private BigDecimal v0Pricing;

    /**
     * V1等级系统底价
     */
    private BigDecimal v1Pricing;

    /**
     * V2等级系统底价
     */
    private BigDecimal v2Pricing;

    /**
     * V3等级系统底价
     */
    private BigDecimal v3Pricing;

    /**
     * V4等级系统底价
     */
    private BigDecimal v4Pricing;

    /**
     * V4等级系统底价
     */
    private BigDecimal v5Pricing;

    /**
     * 对下级代理默认提成
     */
    private BigDecimal royalty;

    /**
     * 对下级最大提成
     */
    private BigDecimal maxRoyalty;

    /**
     * 底价默认增加值（推广使用佣金）
     */
    private BigDecimal brokerage;

    /**
     * 对下级最大提成
     */
    private BigDecimal maxBrokerage;

    /**
     * 红包机会次数
     */
    private Integer redPacketNum;

    /**
     * 产品状态（0正常；1停用）
     */
    private String status;

    /**
     * 删除标志（0代表存在；2代表删除）
     */
    private String delFlag;

    /**
     * 是否主页产品
     */
    private String home;

    public SysProduct() {
    }

    public SysProduct(String delFlag) {
        this.delFlag = delFlag;
    }

    public SysProduct(Integer productId, String productType, String productName, String productIntroduce, String scene, BigDecimal v0Pricing, BigDecimal v1Pricing, BigDecimal v2Pricing, BigDecimal v3Pricing, BigDecimal v4Pricing, BigDecimal v5Pricing, BigDecimal brokerage, BigDecimal royalty, String status, String delFlag) {
        this.productId = productId;
        this.productType = productType;
        this.productName = productName;
        this.productIntroduce = productIntroduce;
        this.scene = scene;
        this.v0Pricing = v0Pricing;
        this.v1Pricing = v1Pricing;
        this.v2Pricing = v2Pricing;
        this.v3Pricing = v3Pricing;
        this.v4Pricing = v4Pricing;
        this.v5Pricing = v5Pricing;
        this.brokerage = brokerage;
        this.royalty = royalty;
        this.status = status;
        this.delFlag = delFlag;
    }
}
